#include "archivoTermDoc.h"

archivoTermDoc::archivoTermDoc(string ruta) : indice(ruta)
{
}

archivoTermDoc::~archivoTermDoc()
{
}

/*
 */
int archivoTermDoc::agregarTermDoc(long idTerm, long idDoc)
{
	ClaveCompuesta clave(idTerm, idDoc);
	DatoNull dato;
	indice.insert(clave, dato);
	return 0;
}
/*
 */
vector<long> archivoTermDoc::obtenerDocumentos(long idTerm)
{
	ClaveCompuesta clave(idTerm, 0), claveAux;
	DatoNull dato;
	vector<long> documentos;
	indice.readMayorIgual(dato, clave);
	if(!indice.eof())
		claveAux=indice.getClave();
	while(!indice.eof() && clave[ID_TERMINO]==claveAux[ID_TERMINO])
	{
		dato=indice.getDato();
		documentos.push_back(claveAux.getIdDocumento()); 
		indice.next();
		if(!indice.eof())
			claveAux=indice.getClave();
	}
	return documentos;
}
/*
 */
void archivoTermDoc::eliminarTermDoc(long idTerm, long idDoc){
 	ClaveCompuesta clave(idTerm, idDoc);
 	 	
 	indice.erase(clave);
 	
}